06 EXTI
up的视频讲解沿着“引脚 → 边沿检测 → 请求 → 响应”的路线,认识外部中断控制器。
1 EXTI 把电平变化变成事件
EXTI 是外部中断/事件控制器。GPIO 可以读取当前是高电平还是低电平,而 EXTI 关注的是电平发生变化的瞬间,例如按键按下时出现的上升沿。

同一个检测结果可以进入不同通路:中断通路送往 NVIC,再由 CPU 执行处理程序;事件通路用于相应的硬件事件机制。两者不是同一个开关。
2 GPIO 如何接到中断线
GPIO 外部中断使用 0~15 号线,编号与引脚编号对应。比如 PA0、PB0 都可映射到 EXTI0,但同一时刻这条线只能选择一个端口来源。

因此,选择中断引脚时既要看端口,也要看编号。并不是每一个 GPIO 都有完全独立的一条外部中断线。
3 边沿检测决定何时触发
| 触发方式 | 识别的变化 | 按键电路中的理解方式 |
|---|---|---|
| 上升沿 | 低电平变高电平 | 按下后被拉高的信号 |
| 下降沿 | 高电平变低电平 | 按下后被拉低的信号 |
| 双边沿 | 两种变化都检测 | 同时关注按下与释放 |

4 顺着数字逻辑读懂请求通路
或门:有一个条件成立就通过
或逻辑可以把多个来源合并。硬件边沿与软件触发等来源,通过相关逻辑形成请求。
与门:条件同时满足才通过
与逻辑用于控制请求是否放行。即使检测到了边沿,如果相应通路没有允许,请求也不会沿该通路继续传递。

IMR 控制中断通路,EMR 控制事件通路。读取结构图时,先找信号从哪里来,再看途中经过哪些条件,最后确认输出到哪里。
挂起标志:记录已经发生的事件
触发发生后,挂起标志记录这个事件。处理程序需要按照寄存器规定清除标志,使后续事件能够被正确处理;在 STM32F1 的 EXTI 中,对相应挂起位写 1 清除。
